home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / gnu / emacs.lha / emacs-19.16 / lisp / makefile.elc < prev    next >
Makefile  |  1993-07-05  |  26KB  |  302 lines

  1. ;ELC
  2. ;;; compiled by jimb@geech.gnu.ai.mit.edu on Mon Jul  5 23:33:38 1993
  3. ;;; from file /gd/gnu/emacs/19.0/lisp/makefile.el
  4. ;;; emacs version 19.15.16.
  5. ;;; bytecomp version FSF 2.10
  6. ;;; optimization is on.
  7. ;;; this file uses opcodes which do not exist in Emacs 18.
  8.  
  9. (if (and (boundp 'emacs-version)
  10.      (or (and (boundp 'epoch::version) epoch::version)
  11.          (string-lessp emacs-version "19")))
  12.     (error "This file was compiled for Emacs 19"))
  13.  
  14. (provide (quote makefile))
  15. (defconst makefile-mode-name "makefile" "\
  16. The \"pretty name\" of makefile-mode, as it appears in the modeline.")
  17. (defvar makefile-browser-buffer-name "*Macros and Targets*" "\
  18. Name of the macro- and target browser buffer.")
  19. (defvar makefile-target-colon ":" "\
  20. The string that gets appended to all target names
  21. inserted by makefile-insert-target.
  22. \":\" or \"::\" are quite common values.")
  23. (defvar makefile-macro-assign " = " "\
  24. The string that gets appended to all macro names
  25. inserted by makefile-insert-macro.
  26. The normal value should be \" = \", since this is what
  27. standard make expects. However, newer makes such as dmake
  28. allow a larger variety of different macro assignments, so you
  29. might prefer to use \" += \" or \" := \" .")
  30. (defvar makefile-use-curly-braces-for-macros-p nil "\
  31. Controls the style of generated macro references.
  32. Set this variable to a non-nil value if you prefer curly braces
  33. in macro-references, so it looks like ${this}.  A value of nil
  34. will cause makefile-mode to use parentheses, making macro references
  35. look like $(this) .")
  36. (defvar makefile-tab-after-target-colon t "\
  37. If you want a TAB (instead of a space) to be appended after the
  38. target colon, then set this to a non-nil value.")
  39. (defvar makefile-browser-leftmost-column 10 "\
  40. Number of blanks to the left of the browser selection mark.")
  41. (defvar makefile-browser-cursor-column 10 "\
  42. Column in which the cursor is positioned when it moves
  43. up or down in the browser.")
  44. (defvar makefile-browser-selected-mark "+  " "\
  45. String used to mark selected entries in the browser.")
  46. (defvar makefile-browser-unselected-mark "   " "\
  47. String used to mark unselected entries in the browser.")
  48. (defvar makefile-browser-auto-advance-after-selection-p t "\
  49. If non-nil, the cursor will automagically advance to the next line after
  50. an item has been selected in the browser.")
  51. (defvar makefile-pickup-everything-picks-up-filenames-p nil "\
  52. If non-nil, makefile-pickup-everything also picks up filenames as targets
  53. (i.e. it calls makefile-find-filenames-as-targets), otherwise filenames are
  54. omitted.")
  55. (defvar makefile-cleanup-continuations-p t "\
  56. If non-nil, makefile-mode will assure that no line in the file ends with a
  57. backslash (the continuation character) followed by any whitespace.  This is
  58. done by silently removing the trailing whitespace, leaving the backslash itself
  59. intact.  IMPORTANT: Please note that enabling this option causes makefile-mode
  60. to MODIFY A FILE WITHOUT YOUR CONFIRMATION when 'it seems necessary'.")
  61. (defvar makefile-browser-hook nil "\
  62. A function or list of functions to be called just before the
  63. browser is entered. This is executed in the makefile buffer.")
  64. (defvar makefile-special-targets-list (quote (("DEFAULT") ("DONE") ("ERROR") ("EXPORT") ("FAILED") ("GROUPEPILOG") ("GROUPPROLOG") ("IGNORE") ("IMPORT") ("INCLUDE") ("INCLUDEDIRS") ("INIT") ("KEEP_STATE") ("MAKEFILES") ("MAKE_VERSION") ("NO_PARALLEL") ("PARALLEL") ("PHONY") ("PRECIOUS") ("REMOVE") ("SCCS_GET") ("SILENT") ("SOURCE") ("SUFFIXES") ("WAIT") ("c.o") ("C.o") ("m.o") ("el.elc") ("y.c") ("s.o"))) "\
  65. List of special targets. You will be offered to complete
  66. on one of those in the minibuffer whenever you enter a \".\"
  67. at the beginning of a line in makefile-mode.")
  68. (defvar makefile-runtime-macros-list (quote (("@") ("&") (">") ("<") ("*") ("^") ("?") ("%"))) "\
  69. List of macros that are resolved by make at runtime.
  70. If you insert a macro reference using makefile-insert-macro-ref, the name
  71. of the macro is checked against this list. If it can be found its name will
  72. not be enclosed in { } or ( ).")
  73. (defconst makefile-dependency-regex "^[^     #:]+\\([     ]+[^     #:]+\\)*[     ]*:\\([     ]*$\\|\\([^=\n].*$\\)\\)" "\
  74. Regex used to find dependency lines in a makefile.")
  75. (defconst makefile-macroassign-regex "^[^     ][^:#=]*[\\*:\\+]?:?=.*$" "\
  76. Regex used to find macro assignment lines in a makefile.")
  77. (defconst makefile-ignored-files-in-pickup-regex "\\(^\\..*\\)\\|\\(.*~$\\)\\|\\(.*,v$\\)\\|(\\.[chy]\\)" "\
  78. Regex for filenames that will NOT be included in the target list.")
  79. (defvar makefile-brave-make "make" "\
  80. A make that can handle the '-q' option.")
  81. (defvar makefile-query-one-target-method (quote makefile-query-by-make-minus-q) "\
  82. A function symbol [one that can be used as the first argument to
  83. funcall] that provides a function that must conform to the following
  84. interface:
  85.  
  86. * As its first argument, it must accept the name of the target to
  87.   be checked, as a string.
  88.  
  89. * As its second argument, it may accept the name of a makefile
  90.   as a string. Depending on what you're going to do you may
  91.   not need this.
  92.  
  93. * It must return the integer value 0 (zero) if the given target
  94.   should be considered up-to-date in the context of the given
  95.   makefile, any nonzero integer value otherwise.")
  96. (defvar makefile-up-to-date-buffer-name "*Makefile Up-to-date overview*" "\
  97. Name of the Up-to-date overview buffer.")
  98. (defvar makefile-mode-map nil "\
  99. The keymap that is used in makefile-mode.")
  100. (byte-code "äO┴ ┬├─#ê┬┼╞#ê┬╟╚#ê┬╔╩#ê┬╦╠#ê┬═╬#ê┬╧╨#ê┬╤╥#ê┬╙╘#ê┬╒╓#ê┬╫╪#ê┬┘┌#ê┴ç" [makefile-mode-map make-sparse-keymap define-key "$" makefile-insert-macro-ref ":" makefile-insert-target-ref ":" makefile-electric-colon "=" makefile-electric-equal "." makefile-electric-dot "" makefile-pickup-filenames-as-targets "" makefile-switch-to-browser "" makefile-pickup-everything "" makefile-create-up-to-date-overview "    " makefile-insert-gmake-function "≡" makefile-previous-dependency "ε" makefile-next-dependency] 4)
  101. (defvar makefile-browser-map nil "\
  102. The keymap that is used in the macro- and target browser.")
  103. (byte-code "äI┴ ┬├─#ê┬┼─#ê┬╞╟#ê┬╚╟#ê┬╔╩#ê┬╦╠#ê┬═╬#ê┬╧╨#ê┬╤╥#ê┬╙╘#ê┬╒╘#ê┴ç" [makefile-browser-map make-sparse-keymap define-key "n" makefile-browser-next-line "" "p" makefile-browser-previous-line "" " " makefile-browser-toggle "i" makefile-browser-insert-selection "I" makefile-browser-insert-selection-and-quit "" makefile-browser-insert-continuation "q" makefile-browser-quit "" undefined ""] 4)
  104. (defvar makefile-mode-syntax-table nil "\
  105. The syntax-table used in makefile mode.")
  106. (byte-code "ä7┴ ┬├─#ê┬┼╞#ê┬╟╚#ê┬╔╩#ê┬╦╠#ê┬═╬#ê┬╧╨#ê┬╤╥#ê┴ç" [makefile-mode-syntax-table make-syntax-table modify-syntax-entry 40 "()    " 41 ")(    " 91 "(]    " 93 "([    " 123 "(}    " 125 "){    " 35 "<     " 10 ">     "] 4)
  107. (defvar makefile-target-table nil "\
  108. Table of all targets that have been inserted in
  109. this Makefile buffer using makefile-insert-target or picked up
  110. using makefile-pickup-targets.")
  111. (defvar makefile-macro-table nil "\
  112. Table of all macros that have been iserted in
  113. this Makefile buffer using makefile-insert-macro or picked up
  114. using makefile-pickup-macros.")
  115. (byte-code "└┴!ä┬└├!ä─└┼!ä─└╞!ä!╟└╚!ä*╟└╔!ä3─    ─ç" [boundp makefile-browser-client "A buffer in makefile-mode that is currently using the browser." makefile-browser-selection-vector nil makefile-has-prereqs makefile-need-target-pickup t makefile-need-macro-pickup makefile-mode-hook] 2)
  116. (defconst makefile-gnumake-functions-alist (quote (("subst" "From" "To" "In") ("patsubst" "Pattern" "Replacement" "In") ("strip" "Text") ("findstring" "Find what" "In") ("filter" "Pattern" "Text") ("filter-out" "Pattern" "Text") ("sort" "List") ("dir" "Names") ("notdir" "Names") ("suffix" "Names") ("basename" "Names") ("addsuffix" "Suffix" "Names") ("join" "List 1" "List 2") ("word" "Index" "Text") ("words" "Text") ("firstword" "Text") ("wildcard" "Pattern") ("foreach" "Variable" "List" "Text") ("origin" "Variable") ("shell" "Command"))) "\
  117. A list of GNU make 3.62 function names associated with
  118. the prompts for each function.
  119. This is used in the function makefile-insert-gmake-function .")
  120. (defalias 'makefile-mode #[nil "└ ê┴\n>ä├\n┴C\"─┼!ê─╞!ê─╟!ê─╚!ê─╔!ê╩ ╠╬╨╘!ê╓!ê╪┘!ç" [kill-all-local-variables makefile-cleanup-continuations write-file-hooks append make-variable-buffer-local makefile-target-table makefile-macro-table makefile-has-prereqs makefile-need-target-pickup makefile-need-macro-pickup "#" comment-start "" comment-end "#[     ]*" comment-start-skip makefile-mode major-mode makefile-mode-name mode-name use-local-map makefile-mode-map set-syntax-table makefile-mode-syntax-table run-hooks makefile-mode-hook] 3 "\
  121. Major mode for editing Makefiles.
  122. Calling this function invokes the function(s) \"makefile-mode-hook\" before
  123. doing anything else.
  124.  
  125. \\{makefile-mode-map}
  126.  
  127. In the browser, use the following keys:
  128.  
  129. \\{makefile-browser-map}
  130.  
  131. makefile-mode can be configured by modifying the following
  132. variables:
  133.  
  134. makefile-mode-name:
  135.     The \"pretty name\" of makefile-mode, as it
  136.     appears in the modeline.
  137.  
  138. makefile-browser-buffer-name:
  139.     Name of the macro- and target browser buffer.
  140.  
  141. makefile-target-colon:
  142.     The string that gets appended to all target names
  143.     inserted by makefile-insert-target.
  144.     \":\" or \"::\" are quite common values.
  145.  
  146. makefile-macro-assign:
  147.    The string that gets appended to all macro names
  148.    inserted by makefile-insert-macro.
  149.    The normal value should be \" = \", since this is what
  150.    standard make expects. However, newer makes such as dmake
  151.    allow a larger variety of different macro assignments, so you
  152.    might prefer to use \" += \" or \" := \" .
  153.  
  154. makefile-tab-after-target-colon:
  155.    If you want a TAB (instead of a space) to be appended after the
  156.    target colon, then set this to a non-nil value.
  157.  
  158. makefile-browser-leftmost-column:
  159.    Number of blanks to the left of the browser selection mark.
  160.  
  161. makefile-browser-cursor-column:
  162.    Column in which the cursor is positioned when it moves
  163.    up or down in the browser.
  164.  
  165. makefile-browser-selected-mark:
  166.    String used to mark selected entries in the browser.
  167.  
  168. makefile-browser-unselected-mark:
  169.    String used to mark unselected entries in the browser.
  170.  
  171. makefile-browser-auto-advance-after-selection-p:
  172.    If this variable is set to a non-nil value the cursor
  173.    will automagically advance to the next line after an item
  174.    has been selected in the browser.
  175.  
  176. makefile-pickup-everything-picks-up-filenames-p:
  177.    If this variable is set to a non-nil value then
  178.    makefile-pickup-everything also picks up filenames as targets
  179.    (i.e. it calls makefile-find-filenames-as-targets), otherwise
  180.    filenames are omitted.
  181.  
  182. makefile-cleanup-continuations-p:
  183.    If this variable is set to a non-nil value then makefile-mode
  184.    will assure that no line in the file ends with a backslash
  185.    (the continuation character) followed by any whitespace.
  186.    This is done by silently removing the trailing whitespace, leaving
  187.    the backslash itself intact.
  188.    IMPORTANT: Please note that enabling this option causes makefile-mode
  189.    to MODIFY A FILE WITHOUT YOUR CONFIRMATION when 'it seems necessary'.
  190.  
  191. makefile-browser-hook:
  192.    A function or list of functions to be called just before the
  193.    browser is entered. This is executed in the makefile buffer.
  194.  
  195. makefile-special-targets-list:
  196.    List of special targets. You will be offered to complete
  197.    on one of those in the minibuffer whenever you enter a \".\"
  198.    at the beginning of a line in makefile-mode." nil])
  199. (defalias 'makefile-next-dependency #[nil "`┴ê┬ d─#â┼yê─ébê┴)ç" [here nil re-search-forward makefile-dependency-regex t 0] 4 "\
  200. Move (point) to the beginning of the next dependency line below (point)." nil])
  201. (defalias 'makefile-previous-dependency #[nil "`┴yê┬ e─#â┴yê─ébê┼)ç" [here 0 re-search-backward makefile-dependency-regex t nil] 4 "\
  202. Move (point) to the beginning of the next dependency line above (point)." nil])
  203. (defalias 'makefile-electric-dot #[nil "nâ└ ç┴cç" [makefile-insert-special-target "."] 1 "\
  204. At (bol), offer completion on makefile-special-targets-list.
  205. Anywhere else just insert a dot." nil])
  206. (defalias 'makefile-insert-special-target #[nil "└ ê┴┬ ─ëë%ëG╞U?à╟╚\"cê╔ )ç" [makefile-pickup-targets completing-read "Special target: " makefile-special-targets-list nil special-target 0 format ".%s:" makefile-forward-after-target-colon] 7 "\
  207. Complete on makefile-special-targets-list, insert result at (point)." nil])
  208. (defalias 'makefile-electric-equal #[nil "└ ênâ ┴┬!ç├cç" [makefile-pickup-macros call-interactively makefile-insert-macro "="] 2 "\
  209. At (bol) do makefile-insert-macro.  Anywhere else just self-insert." nil])
  210. (defalias 'makefile-insert-macro #[(macro-name) "└ ê    G┬U?à┬yê├─    #cê╞╚    !ç" [makefile-pickup-macros macro-name 0 format "%s%s" makefile-macro-assign t makefile-need-macro-pickup makefile-remember-macro] 4 "\
  211. Prepare definition of a new macro." "sMacro Name: "])
  212. (defalias 'makefile-insert-macro-ref #[(macro-name) "G┴U?à┬ \"â─┼\"cç╞!╟▒ç" [macro-name 0 assoc makefile-runtime-macros-list format "$%s " makefile-format-macro-ref " "] 3 "\
  213. Complete on a list of known macros, then insert complete ref at (point)." (list (progn (makefile-pickup-macros) (completing-read "Refer to macro: " makefile-macro-table nil nil nil)))])
  214. (defalias 'makefile-insert-target #[(target-name) "G┴U?à┴yê┬├ #cê┼ ê╞ê╟╔!ç" [target-name 0 format "%s%s" makefile-target-colon makefile-forward-after-target-colon nil t makefile-need-target-pickup makefile-remember-target] 4 "\
  215. Prepare definition of a new target (dependency line)." "sTarget: "])
  216. (defalias 'makefile-insert-target-ref #[(target-name) "G┴U?à┬├\"cç" [target-name 0 format "%s "] 3 "\
  217. Complete on a list of known targets, then insert target-ref at (point) ." (list (pogn (makefile-pickup-targets) (completing-read "Refer to target: " makefile-target-table nil nil nil)))])
  218. (defalias 'makefile-electric-colon #[nil "nâ└┴!ç┬cç" [call-interactively makefile-insert-target ":"] 2 "\
  219. At (bol) defines a new target, anywhere else just self-insert ." nil])
  220. (defalias 'makefile-pickup-targets #[nil "??à\"┴┴┴èebê─d╞#â╟ êé)╚╔!ç" [makefile-need-target-pickup nil makefile-target-table makefile-has-prereqs re-search-forward makefile-dependency-regex t makefile-add-this-line-targets message "Read targets OK."] 4 "\
  221. Scan a buffer that contains a makefile for target definitions (dependencies)
  222. and add them to the list of known targets." nil])
  223. (defalias (quote makefile-add-this-line-targets) #[nil "è└yê┴┬e`\"T ?àJ┼┴wêlå╞`f╟\"ëä `╔┴wê`{\n╦╠!?╬\n\"âF╧╨\n #ê+é +ç" [0 nil count-lines line-number done-with-line "     " char-equal 58 start-of-target-name "^     :#" target-name looking-at ":[     ]*$" has-prereqs makefile-remember-target message "Picked up target \"%s\" from line %d"] 4])
  224. (defalias 'makefile-pickup-macros #[nil "??à#┴┴èebê├ d┼#â╞ ê╟yêé)╚╔!ç" [makefile-need-macro-pickup nil makefile-macro-table re-search-forward makefile-macroassign-regex t makefile-add-this-line-macro 1 message "Read macros OK."] 4 "\
  225. Scan a buffer that contains a makefile for macro definitions
  226. and add them to the list of known macros." nil])
  227. (defalias (quote makefile-add-this-line-macro) #[nil "è└yê┴┬wêl?à,`─e`\"T╞┬wê `{╚!à+╔╩#+)ç" [0 "     " nil start-of-macro-name count-lines line-number "^     :#=*" macro-name makefile-remember-macro message "Picked up macro \"%s\" from line %d"] 4])
  228. (defalias 'makefile-pickup-everything #[nil "└ ê┴ ê\nà ├ ç" [makefile-pickup-macros makefile-pickup-targets makefile-pickup-everything-picks-up-filenames-p makefile-pickup-filenames-as-targets] 1 "\
  229. Calls makefile-pickup-targets and makefile-pickup-macros.
  230. See their documentation for what they do." nil])
  231. (defalias 'makefile-pickup-filenames-as-targets #[nil "└┴ !ëâ├─\n\"é├─ë\"╞╟\"*ç" [file-name-directory buffer-file-name dir file-name-all-completions "" raw-filename-list mapcar #[(name) "└    !?à┬     \"?à─    !à┼╞    \"ç" [file-directory-p name string-match makefile-ignored-files-in-pickup-regex makefile-remember-target message "Picked up file \"%s\" as target"] 3]] 4 "\
  232. Scan the current directory for filenames, check each filename
  233. against makefile-ignored-files-in-pickup-regex and add all qualifying
  234. names to the list of known targets." nil])
  235. (byte-code "└┴┬\"ê└├─\"ê└┼╞\"ç" [defalias makefile-browser-format-target-line #[(target selected) "└┴\n├\" âé╟Q    #ç" [format make-string makefile-browser-leftmost-column 32 selected makefile-browser-selected-mark makefile-browser-unselected-mark "%s%s" target makefile-target-colon] 4] makefile-browser-format-macro-line #[(macro selected) "└┴\n├\" âé╟!Q!ç" [format make-string makefile-browser-leftmost-column 32 selected makefile-browser-selected-mark makefile-browser-unselected-mark makefile-format-macro-ref macro] 5] makefile-browser-fill #[(targets macros) "└ebê┬ ê├─╞#ê├╟╞#ê╔└ed#êdSbê╩╦!êebê uê═ëç" [nil buffer-read-only erase-buffer mapconcat #[(item) "└    @┬\"├▒ç" [makefile-browser-format-target-line item nil "\n"] 3] targets "" #[(item) "└    @┬\"├▒ç" [makefile-browser-format-macro-line item nil "\n"] 3] macros sort-lines delete-char 1 makefile-browser-cursor-column t] 4]] 3)
  236. (defalias 'makefile-browser-next-line #[nil "└ ?à ┴yê\nuç" [makefile-last-line-p 1 makefile-browser-cursor-column] 1 "\
  237. Move the browser selection cursor to the next line." nil])
  238. (defalias 'makefile-browser-previous-line #[nil "└ ?à ┴yê\nuç" [makefile-first-line-p -1 makefile-browser-cursor-column] 1 "\
  239. Move the browser selection cursor to the previous line." nil])
  240. (defalias 'makefile-browser-quit #[nil "┬├┬!ê─p!ê┼    !)ç" [makefile-browser-client my-client nil set-buffer-modified-p kill-buffer pop-to-buffer] 2 "\
  241. Leave the makefile-browser-buffer and return to the buffer
  242. from that it has been entered." nil])
  243. (defalias 'makefile-browser-toggle #[nil "└e`\"┬    ]├    !ê─    !ê┼╟yê╚ â0╔ \n╦ ê╠\n═    !\"cê)éA╬ ╦ ê╨═    !\"cê)╤╟yêuêàR╘ )ç" [count-lines this-line 1 makefile-browser-toggle-state-for-line goto-line nil buffer-read-only 0 makefile-browser-on-macro-line-p makefile-browser-this-line-macro-name macro-name kill-line makefile-browser-format-macro-line makefile-browser-get-state-for-line makefile-browser-this-line-target-name target-name makefile-browser-format-target-line t makefile-browser-cursor-column makefile-browser-auto-advance-after-selection-p makefile-browser-next-line] 4 "\
  244. Toggle the selection state of the browser item at the cursor position." nil])
  245. (defalias 'makefile-browser-insert-continuation #[nil "èqê┴ê┬c)ç" [makefile-browser-client nil "\\\n    "] 1 "\
  246. Insert a makefile continuation.
  247. In the browser's client buffer, go to (end-of-line), insert a '\\'
  248. character, insert a new blank line, go to that line and indent by one TAB.
  249. This is most useful in the process of creating continued lines when copying
  250. large dependencies from the browser to the client buffer.
  251. (point) advances accordingly in the client buffer." nil])
  252. (defalias 'makefile-browser-insert-selection #[nil "è└┴!ê┴m?à├\n!â─ ê┴yê\nTé*ç" [goto-line 1 current-line makefile-browser-get-state-for-line makefile-browser-send-this-line-item] 2 "\
  253. Insert all browser-selected targets and/or macros in the browser's
  254. client buffer.
  255. Insertion takes place at (point)." nil])
  256. (byte-code "└┴┬\"ê└├─\"ê└┼╞\"ê└╟╚\"ê└╔╩\"ç" [defalias makefile-browser-insert-selection-and-quit #[nil "└ ê┴ ç" [makefile-browser-insert-selection makefile-browser-quit] 1 nil nil] makefile-browser-send-this-line-item #[nil "└ âè┴  qê─\n!┼▒*çè╞  qê┼▒*ç" [makefile-browser-on-macro-line-p makefile-browser-this-line-macro-name macro-name makefile-browser-client makefile-format-macro-ref " " makefile-browser-this-line-target-name target-name] 2] makefile-browser-start-interaction #[nil "└    !ê┬ëç" [use-local-map makefile-browser-map t buffer-read-only] 2] makefile-browse #[(targets macros) "G    G\\┬Uâ├ ê─┼!ç╞!╔!ê╩╦!ê╠    \"ê═ ê╬G    G\\╧\" ╨ )ç" [targets macros 0 beep message "No macros or targets to browse! Consider running 'makefile-pickup-everything'" get-buffer-create makefile-browser-buffer-name browser-buffer pop-to-buffer make-variable-buffer-local makefile-browser-selection-vector makefile-browser-fill shrink-window-if-larger-than-buffer make-vector nil makefile-browser-start-interaction] 3 nil nil] makefile-switch-to-browser #[nil "└┴!êp├ ê─ ê┼\"ç" [run-hooks makefile-browser-hook makefile-browser-client makefile-pickup-targets makefile-pickup-macros makefile-browse makefile-target-table makefile-macro-table] 3 nil nil]] 3)
  257. (defalias 'makefile-create-up-to-date-overview #[nil "└┴!àc\np├ !┼ ╞ ê\n    \n   qê╬╨ ê╤\n    #ê╥ ╙UâA╘p!ê╒╓!ê qê╫ !àa╪╫ !!ê┘ ê┌╬ed#ê█ë.ç" [y-or-n-p "Are you sure that the makefile being edited is consistent? " makefile-target-table get-buffer-create makefile-up-to-date-buffer-name makefile-save-temporary makefile-pickup-targets makefile-has-prereqs prereqs real-targets filename makefile-up-to-date-buffer this-buffer saved-target-table nil buffer-read-only erase-buffer makefile-query-targets buffer-size 0 kill-buffer message "No overview created!" get-buffer pop-to-buffer shrink-window-if-larger-than-buffer sort-lines t] 6 "\
  258. Create a buffer containing an overview of the state of all known targets.
  259. Known targets are targets that are explicitly defined in that makefile;
  260. in other words, all targets that appear on the left hand side of a
  261. dependency in the makefile." nil])
  262. (defalias 'makefile-save-temporary #[nil "└ ┬ed    ├─%ê    )ç" [makefile-generate-temporary-filename filename write-region nil 0] 6 "\
  263. Create a temporary file from the current makefile buffer."])
  264. (defalias 'makefile-generate-temporary-filename #[nil "└ ┴┬ !┼ G╞Vâ ╟╞Oé ╚ G╞Vâ' ╟╞Oé( R*ç" [user-login-name int-to-string user-uid my-uid my-name "mktmp" 3 0 "."] 6 "\
  265. Create a filename suitable for use in makefile-save-temporary.
  266. Be careful to allow brain-dead file systems (DOS, SYSV ...) to cope
  267. with the generated name !"])
  268. (defalias 'makefile-query-targets #[(filename target-table prereq-list) "└┴\n├#cêebê─!ç" [mapconcat #[(item) "@ë\n¥?ëå     \"╟╚     â╔é'â&╩é'╦#+ç" [item target-name prereq-list no-prereqs makefile-query-one-target-method filename needs-rebuild format "    %s%s" "  .. has no prerequisites" "  .. NEEDS REBUILD" "  .. is up to date"] 5] target-table "\n" delete-file filename] 4 "\
  269. This function fills the up-to-date-overview-buffer.
  270. It checks each target in target-table using makefile-query-one-target-method
  271. and generates the overview, one line per target name."])
  272. (byte-code "└┴┬\"ê└├─\"ç" [defalias makefile-query-by-make-minus-q #[(target &optional filename) "└    ┬ëë├ ┼&╟U?ç" [call-process makefile-brave-make nil "-f" filename "-q" target 0] 9] makefile-cleanup-continuations #[nil "┴=à%\nà% ?à%èebê─┼d╞#à$╟╚╞ë#êé)ç" [major-mode makefile-mode makefile-cleanup-continuations-p buffer-read-only re-search-forward "\\\\[     ]+$" t replace-match "\\"] 4]] 3)
  273. (defalias 'makefile-insert-gmake-function #[nil "└┴\n├─├%╞\n\"AG╚U?à$╔╩╦\"Q!╩▒*ç" [completing-read "Function: " makefile-gnumake-functions-alist nil t gm-function-name assoc gm-function-prompts 0 makefile-format-macro-ref " " makefile-prompt-for-gmake-funargs] 6 "\
  274. This function is intended to help you using the numerous
  275. macro-like 'function calls' of GNU make.
  276. It will ask you for the name of the function you wish to
  277. use (with completion), then, after you selected the function,
  278. it will prompt you for all required parameters.
  279. This function 'knows' about the required parameters of every
  280. GNU make function and will use meaningfull prompts for the
  281. various args, making it much easier to take advantage of this
  282. powerful GNU make feature." nil])
  283. (defalias (quote makefile-prompt-for-gmake-funargs) #[(function-name prompt-list) "└┴\n├#ç" [mapconcat #[(one-prompt) "└┴┬ #┼\"ç" [read-string format "[%s] %s: " function-name one-prompt nil] 5] prompt-list ","] 4])
  284. (defalias 'makefile-remember-target #[(target-name &optional has-prereqs) "G┴U?à┬ \"äC B àBëç" [target-name 0 assoc makefile-target-table has-prereqs makefile-has-prereqs] 3 "\
  285. Remember a given target if it is not already remembered for this buffer."])
  286. (defalias 'makefile-remember-macro #[(macro-name) "G┴U?à┬ \"?àC Bëç" [macro-name 0 assoc makefile-macro-table] 3 "\
  287. Remember a given macro if it is not already remembered for this buffer."])
  288. (defalias 'makefile-forward-after-target-colon #[nil "â┴cç┬cç" [makefile-tab-after-target-colon "    " " "] 1 "\
  289. Move point forward after the terminating colon
  290. of a target has been inserted.
  291. This accts according to the value of makefile-tab-after-target-colon ."])
  292. (defalias 'makefile-browser-on-macro-line-p #[nil "è└yê┴┬├ ─#)ç" [0 re-search-forward "\\$[{(]" makefile-end-of-line-point t] 4 "\
  293. Determine if point is on a macro line in the browser."])
  294. (defalias 'makefile-browser-this-line-target-name #[nil "è└ê┴└xê`┬ S{)ç" [nil "^     " makefile-end-of-line-point] 2 "\
  295. Extract the target name from a line in the browser."])
  296. (defalias 'makefile-browser-this-line-macro-name #[nil "è└yê┴┬├ ─#ê`╞╟wê`{*ç" [0 re-search-forward "\\$[{(]" makefile-end-of-line-point t macro-start "^})" nil] 4 "\
  297. Extract the macro name from a line in the browser."])
  298. (defalias 'makefile-format-macro-ref #[(macro-name) "â    ┴┬ \"ç┴─ \"ç" [makefile-use-curly-braces-for-macros-p format "${%s}" macro-name "$(%s)"] 3 "\
  299. Format a macro reference according to the value of the
  300. configuration variable makefile-use-curly-braces-for-macros-p ."])
  301. (byte-code "└┴┬\"ê└├─\"ê└┼╞\"ê└╟╚\"ê└╔╩\"ê└╦╠\"ê└═╬\"ç" [defalias makefile-browser-get-state-for-line #[(n) "    SHç" [makefile-browser-selection-vector n] 2] makefile-browser-set-state-for-line #[(n to-state) "    S\nIç" [makefile-browser-selection-vector n to-state] 3] makefile-browser-toggle-state-for-line #[(n) "└    ┬    !?\"ç" [makefile-browser-set-state-for-line n makefile-browser-get-state-for-line] 4] makefile-beginning-of-line-point #[nil "è└yê`)ç" [0] 1] makefile-end-of-line-point #[nil "è└ê`)ç" [nil] 1] makefile-last-line-p #[nil "└ dUç" [makefile-end-of-line-point] 2] makefile-first-line-p #[nil "└ eUç" [makefile-beginning-of-line-point] 2]] 3)
  302.